package qimao.com.edu.service.impl;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import qimao.com.edu.service.NovelService;
import qimao.com.edu.util.FileUtils;

public class NovelServiceImpl implements NovelService {

	@Override
	public String readNovelContent(String filePath) {
//		// nio 处理文件在不同系统下的路径
//		Path path = Paths.get(filePath);
//		// 验证文件是否存在，避免不必要的I/O操作
//        if (!Files.exists(path)) {
//            throw new IllegalArgumentException("文件不存在: " + filePath);
//        }
//		
//		StringBuilder content = new StringBuilder();
//		try (BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
//		    String line;
//		    while ((line = reader.readLine()) != null) {
//		    	// append(System.lineSeparator());给每行后面入不同系统换行符
//		        content.append(line).append(System.lineSeparator());
//		    }
//		} catch (IOException e) {
//			throw new RuntimeException("读取文件失败: " + filePath, e);
//		}
//		return content.toString();
		
		
		try {
	        // 验证文件是否存在
	        if (!FileUtils.exists(filePath)) {
	            throw new IllegalArgumentException("文件不存在: " + filePath);
	        }
	        
	        // 使用工具类方法读取文件内容
	        return FileUtils.readFileToString(filePath);
	    } catch (IOException e) {
	        // 保持与原方法一致的异常处理方式
	        throw new RuntimeException("读取文件失败: " + filePath, e);
	    }
	}
	
}
